Casper CBC: timing for block proposal
Python Poc
CasperLabs
We assume that the P2P protocol used for validator-to-validator communication is based on best-effort-broadcasting. So, any time a validator has a new message to announce, it is announcing the message to all validators in the network. We assume that, once broadcasted, the message M will be eventually delivered to any other validator in the network that is alive, but:
the delay between sending and receiving is arbitrary in duration.
there is no guarantee on message order, so delivery order may differ from broadcast order
the same message may be delivered more than once
in principle messages can also get lost, but we expect this will be handled by lower layers of communication, so in the consensus layer message loss presents as delays